<?php
class Personal_Action_Controller extends Engine_Action_ControllerAbstract
{
            
     public function run() 
     {
         

         // полный запрет если нет регистрации
         if (null != $this->auth->getIsReg())  {
             
             $this->setInfoModel('Личный кабинет');
             $this->view->setRenderTemplate( __CLASS__);
            
            //загрузка аваторки в папки и в базу данных
            if(isset($this->get['loadAvator']) && isset($_FILES['userfile'] )) {
                $upload = new Upload_Helper();
                if(!$upload->uploadPhoto($this->auth->getUserId()) ){
                    $this->view->errors = $upload->getErrors();
                } else {
                     // объект $upload сохранил файлы и вернул путь к ним, который дальше импользуется в модели
                    $arr = $upload->getArray();        
                    $arr['userId'] = $this->auth->getUserId();
                    $arr['timeCreated'] = time();
                    $model = new Image_Model($arr);
                    
                    $datamapper = new Image_Data_Mapper();
                    if(!$datamapper->save($model)){
                        $this->view->errors = $datamapper->getErrors(); 
                    }  else {
                        header("Location:$_SERVER[REQUEST_URI]");
                    }   
                }         
            }

             // вывести инфо о юзере
             $datamapper = new User_Data_Mapper();
             $userInfo = $datamapper->fetchUserInfo($this->auth->getUserId());
                 if(!$userInfo) {
                    $this->view->errors = $datamapper->getErrors();
                 } else {
                    $this->view->userInfo = $userInfo;
                 }
                 
                 
         }  else {
             
             $this->setInfoModel('Страница не найдена');
             $this->view->setRenderTemplate('NotFound_'); 
         }
     }
}